package net.minecraft.src;


public class NextTickListEntry implements Comparable {

    private static long nextTickEntryID = 0L;
    public int xCoord;
    public int yCoord;
    public int zCoord;
    public int blockID;
    public long scheduledTime;
    private long tickEntryID;


    public NextTickListEntry(int var1, int var2, int var3, int var4) {
        super();
        this.tickEntryID = (long)(nextTickEntryID++);
        this.xCoord = var1;
        this.yCoord = var2;
        this.zCoord = var3;
        this.blockID = var4;
    }

    public boolean equals(Object var1) {
        if(!(var1 instanceof NextTickListEntry)) {
            return false;
        } else {
            NextTickListEntry var2 = (NextTickListEntry)var1;
            return this.xCoord == var2.xCoord && this.yCoord == var2.yCoord && this.zCoord == var2.zCoord && this.blockID == var2.blockID;
        }
    }

    public int hashCode() {
        return (this.xCoord * 128 * 1024 + this.zCoord * 128 + this.yCoord) * 256 + this.blockID;
    }

    public NextTickListEntry setScheduledTime(long var1) {
        this.scheduledTime = var1;
        return this;
    }

    public int comparer(NextTickListEntry var1) {
        return this.scheduledTime < var1.scheduledTime?-1:(this.scheduledTime > var1.scheduledTime?1:(this.tickEntryID < var1.tickEntryID?-1:(this.tickEntryID > var1.tickEntryID?1:0)));
    }

    // $FF: synthetic method
    // $FF: bridge method
    public int compareTo(Object var1) {
        return this.comparer((NextTickListEntry)var1);
    }

}
